import Vue from "vue"
import Vuex from "vuex"
import persistedState from 'vuex-persistedstate'

//1.安装插件
Vue.use(Vuex)
//1.
//修改 先 actions行为 再 mutations提交修改 state数据 这样可以用 devtools插件可以监听修改数据
//actions 如果有异步操作 （可不用） 发送网络请求时用
//但也可以 mutations提交修改 state数据

//2.
//掌握 vuex-devtools(跟中数据) 和 mutations

//2.创建对象
const store = new Vuex.Store({
   state:{  //数据
     my_token:'',
     my_username:'',  //记录登录手机号
     product_data:{},  //记录产品基础数据
     standards_data:'',  //记录产品规格
     standards_details_data:[], //记录规格详情
     productdetails_data:{}, //记录产品详情
   },
   actions:{  //行为 ajax 异步操作
       
   },
   mutations:{  //通过它直接改
    upmy_token(state,num){  //存入upmy_token
      state.my_token = num;
    },
    up_my_username(state,num){ //记录姓名
      state.my_username = num
    },
    up_px(state,arr){ //记录登录的左侧导航
      state.my_pxarr = arr
    },
    up_static(state,num){ //记录等级
      state.my_static = num
    },
    up_phone(state,num){ //记录手机号
      state.my_phone = num
    },
    up_super(state,num){ //记录手机号
      state.my_super = num
    },
    product_fun(state,num){  //记录产品基础数据
      state.product_data = num
    },
    standards_fun(state,num){ //规格数据
      state.standards_data = num
    },
    standards_details_fun(state,num){ //规格详情数据
      state.standards_details_data = num
    },
    productdetails_fun(state,num){ //规格详情数据
      state.productdetails_data = num
    },
    
    
    
   },
   getters:{  // 类似于computed的计算属性
   
   },
   modules:{ //用 $store.state.a.namess   在组件中用 this.$store.commit('ssss')
      
   },
   plugins: [persistedState({
    storage: window.sessionStorage,
    reducer(val) {
        return {
          my_username:val.my_username,
          my_pxarr:val.my_pxarr,
          my_static:val.my_static,
          my_phone:val.my_phone,
          my_super:val.my_super,
          product_data:val.product_data,
          standards_data:val.standards_data,
          standards_details_data:val.standards_details_data,
          productdetails_data:val.productdetails_data,
        }
    }
  })]
})

//3.导出

export default store